'''
1.django的来源音乐家
    1.Django笔记 瑞哈德，2003美国，制作新闻站点，05年Django获得了BSD许可证（开源软件许可证）
    2.优雅的web框架
    3.完善的文档：https://docs.djangoproject.com/zh-hans/2.1/
    4.数据库访问组件
        1.ORM映射关系
        2.Django中mode层自带的数据库访问方式，可以见人目前市面上各大数据库
    5.url路由映射技术
        1.强大的媒婆技术，可以让你优雅的设计连接
    6.管理界面
        1.admin界面，可视化数据库管理系统
    7.调试信息


2.Django的结构
    1.MVT架构
        看：web服务流程.png
        M(mode):数据库
        T(template):前端模板
        V(views):控制器(视图函数)
            响应request
            返回response
        模型层：mode
        视图层：view
        路由设计：urls
        模板层：template
        表单层：<forms>
                    pass
                <forms>
                django提供了一套数据字段转换表单字段的系统

3.开启Django
    Django笔记 == 1.8.2
    python3.6.5


4.创建Django项目
    django-admin startproject first_learm

5.框架目录
    ./first_learm    容纳整个文件的项目
    ../first_learm    项目的主要配置文件夹 主控目录
    ../first_learm/__init__  声明当前文件夹可以作为模块导入
    ../first_learm/setting   整个项目的配置文件
    ../first_learm/urls      整个框架项目的主要路由文件
    ../first_learm/wsgi      项目发布时所需
    ./manage   当前Django项目的命令行管理工具


6.Django测试开发服务器
    1.查看项目的样子   python manage.py runserver 开启项目服务  该端口 0.0.0.0：80
    2.测试服务器：压力承载特别小
    3.runserver检测到代码修改会自动重启


7.时区及语言设置
    setting.py 设置 en-us改为：zh-Hans  UTC改为：Asia/Shanghai
    LANGUAGE_CODE = 'zh-Hans'
    TIME_ZONE = 'Asia/Shanghai'


8.APP的创建
    python3 manage.py startapp people
    1.APP承载真正功能的实现
    2.app目录结构：
        people
            __init__
            admin.py  当前APP如果使用了数据库，数据表可以再这个文件下进行注册
            models.py 创建Django所使用的数据库
            test.py   单元驱动测试
            views.py 真正业务函数的实现   django中函数的第一个参数往往是request


9.第一个APP应用
    1.视图函数
            from django.shortcuts import render, HttpResponse
            def index(request):
                # django中函数的第一个参数往往是request
                return HttpResponse('我是一个字符串')  # 返回的字符串

    2.为视图函数设置路由关系：
        from django.contrib import admin
        from django.urls import path
        from django.conf.urls import url
        from people import views
        urlpatterns = [
            path('admin/', admin.site.urls),
            # path('index/', views.index),
            url(r'^',views.index),
        ]

    3.一个功能对应一个路由，一个路由又对应一个视图函数
        一个连接对应一个视图函数


10.不同APP对应不同的路由文件
    1.people
        在APP文件夹下创建:urls.py
    2.airticle
        在APP文件夹下创建:urls.py
    3.需要手动在APP下面创建新的urls.py路由映射文件
        查找顺序：
            1.主控路由文件：./first_learm
            2.找到对应的路由文件 ./people/urls.py
            3.对应app路由文件找到真正的视图函数：./people/views.py












'''
